/* 
  Animation 微动画  
  基于ColorUI组建库的动画模块 by 文晓港 2019年3月26日19:52:28
 */

/* css 滤镜 控制黑白底色gif的 */
.gif-black{  
  mix-blend-mode: screen;  
}

.gif-white{  
  mix-blend-mode: multiply; 
}

/* Animation css */
[class*=animation-] {
    animation-duration: .5s;
    animation-timing-function: ease-out;
    animation-fill-mode: both
}

[class*=animation-].fast {
    animation-duration: .8s;
}

[class*=animation-].faster {
    animation-duration: .5s;
}

[class*=animation-].fastest {
    animation-duration: .3s;
}

[class*=animation-].duration-02 {
    animation-duration: .2s;
}

[class*=animation-].duration-01 {
    animation-duration: .1s;
}

.animation-fade {
    animation-name: kf-fade;
    animation-duration: .8s;
    animation-timing-function: linear
}

.animation-scale-up {
    animation-name: kf-scale-up
}

.animation-scale-down {
    animation-name: kf-scale-down
}

.animation-slide-top {
    animation-name: kf-slide-top
}

.animation-slide-bottom {
    animation-name: kf-slide-bottom
}

.animation-slide-left {
    animation-name: kf-slide-left
}

.animation-slide-right {
    animation-name: kf-slide-right
}

.animation-shake {
    animation-name: kf-shake
}

.animation-reverse {
    animation-direction: reverse
}

@keyframes kf-fade {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes kf-scale-up {
    0% {
        opacity: 0;
        transform: scale(.2)
    }

    100% {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes kf-scale-down {
    0% {
        opacity: 0;
        transform: scale(1.8)
    }

    100% {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes kf-slide-top {
    0% {
        opacity: 0;
        transform: translateY(-100%)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes kf-slide-bottom {
    0% {
        opacity: 0;
        transform: translateY(100%)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes kf-shake {

    0%,
    100% {
        transform: translateX(0)
    }

    10% {
        transform: translateX(-9px)
    }

    20% {
        transform: translateX(8px)
    }

    30% {
        transform: translateX(-7px)
    }

    40% {
        transform: translateX(6px)
    }

    50% {
        transform: translateX(-5px)
    }

    60% {
        transform: translateX(4px)
    }

    70% {
        transform: translateX(-3px)
    }

    80% {
        transform: translateX(2px)
    }

    90% {
        transform: translateX(-1px)
    }
}

@keyframes kf-slide-left {
    0% {
        opacity: 0;
        transform: translateX(-100%)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes kf-slide-right {
    0% {
        opacity: 0;
        transform: translateX(100%)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}